package com.ruoyi.worker.service;

import com.ruoyi.worker.domain.*;

import java.util.List;
import java.util.Map;

public interface AttendanceStatisticsService {
    /**
     * 查询每日考勤人员考勤详情
     * @author 刘松山
     * @date 2021/10/18 14:42
     * @param u
     * @return java.util.List<com.ruoyi.worker.domain.UserDayAttendance>
     */
    List<UserDayAttendance> listUserDayAttendance(UserDayAttendance u);
    /**
     * 每日考勤汇总
     * @author 刘松山
     * @date 2021/10/18 14:42
     * @param u
     * @return java.util.List<com.ruoyi.worker.domain.UserDayAttendanceSum>
     */
    List<UserDayAttendanceSum> listUserDayAttendanceSum(UserDayAttendanceSum u);

    /**
     * 查询每月考勤人员考勤详情
     * @author 刘松山
     * @date 2021/10/18 14:42
     * @param u
     * @return java.util.List<com.ruoyi.worker.domain.UserDayAttendance>
     */
    List<UserMonthAttendance> listUserMonthAttendance(UserMonthAttendance u);
    /**
     * 每月考勤汇总
     * @author 刘松山
     * @date 2021/10/18 14:42
     * @param u
     * @return java.util.List<com.ruoyi.worker.domain.UserDayAttendanceSum>
     */
    List<UserMonthAttendanceSum> listUserMonthAttendanceSum(UserMonthAttendanceSum u);
   /**
    * 获取用户是否有考勤组
    * @author 刘松山
    * @date 2021/10/19 9:49
    * @param map
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    */
    List<Map<String,Object>> listGroupByUserName(Map<String,Object> map);
    /**
     * 查询用户是否排班了
     * @author 刘松山
     * @date 2021/10/19 11:00
     * @param map
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<UserDayAttendance> listUserScheduleInfo(Map<String,Object> map);

    /**
     * 获取当天休息的用户
     * @author 刘松山
     * @date 2021/10/19 19:38
     * @param dateTime
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String,Object>> listRestSchedule(String dateTime);

    /**
     * 保存每日考勤
     * @author 刘松山
     * @date 2021/10/19 9:21
     * @param map
     * @return int
     */
    int addUserDayAttendanceSum(Map<String,Object> map);
    /**
     * 获取，某天所有用户的排班记录
     * @author 刘松山
     * @date 2021/10/19 14:03
     * @param dateTime
     * @return java.util.List<com.ruoyi.worker.domain.UserSchedule>
     */
    List<Map<String,Object>> listUserSchedule(String dateTime);
}
